home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 January / macformat-020.iso / Shareware City / Developers / apps.to.go / DTS.Lib / CDEFs / ICONCDEF.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-07-16  |  1.6 KB  |  109 lines  |  [TEXT/MPS ]

  1. /*
  2. ** Apple Macintosh Developer Technical Support
  3. **
  4. ** Program:         ICONCDEF.c
  5. ** Written by:      Eric Soldan
  6. **
  7. ** Copyright © 1992 Apple Computer, Inc.
  8. ** All rights reserved.
  9. */
  10.  
  11.  
  12.  
  13. /*****************************************************************************/
  14.  
  15.  
  16.  
  17. #ifndef __CONTROLS__
  18. #include <Controls.h>
  19. #endif
  20.  
  21. #ifndef __FONTS__
  22. #include <Fonts.h>
  23. #endif
  24.  
  25. #ifndef __MEMORY__
  26. #include <Memory.h>
  27. #endif
  28.  
  29. #ifndef __TOOLUTILS__
  30. #include <ToolUtils.h>
  31. #endif
  32.  
  33.  
  34.  
  35. pascal long        CICONCtl(short varCode, ControlHandle ctl, short msg, long parm);
  36.  
  37.  
  38.  
  39. /*****************************************************************************/
  40.  
  41.  
  42.  
  43. #pragma segment ICONCDEF
  44. pascal long    CICONCtl(short varCode, ControlHandle ctl, short msg, long parm)
  45. {
  46.     Rect            rct;
  47.     Handle            icn;
  48.     unsigned char    gray[8];
  49.  
  50.     rct = (*ctl)->contrlRect;
  51.  
  52.     switch (msg) {
  53.  
  54.         case drawCntl:
  55.             switch (varCode & (short)0xFFF7) {
  56.                 case 0:
  57.                     if (icn = GetIcon((*ctl)->contrlRfCon)) PlotIcon(&rct, icn);
  58.                     break;
  59.                 case 1:
  60.                     FrameRect(&rct);
  61.                     break;
  62.                 case 2:
  63.                     gray[0] = gray[2] = gray[4] = gray[6] = 0xAA;
  64.                     gray[1] = gray[3] = gray[5] = gray[7] = 0x55;
  65.                     PenPat((ConstPatternParam)gray);
  66.                     FrameRect(&rct);
  67.                     PenNormal();
  68.                     break;
  69.                 case 3:
  70.                     EraseRect(&rct);
  71.                     break;
  72.             }
  73.             break;
  74.  
  75.         case testCntl:
  76.             break;
  77.  
  78.         case calcCRgns:
  79.         case calcCntlRgn:
  80.             if (msg == calcCRgns)
  81.                 parm &= 0x00FFFFFF;
  82.             RectRgn((RgnHandle)parm, &rct);
  83.             break;
  84.  
  85.         case initCntl:
  86.             break;
  87.  
  88.         case dispCntl:
  89.             break;
  90.  
  91.         case posCntl:
  92.             break;
  93.  
  94.         case thumbCntl:
  95.             break;
  96.  
  97.         case dragCntl:
  98.             break;
  99.  
  100.         case autoTrack:
  101.             break;
  102.     }
  103.  
  104.     return(0);
  105. }
  106.  
  107.  
  108.  
  109.